HyperRipper File Format (.HRF/HRFi) - Release I Freeware (c)Copyright 1999-2001 Alex Devilliers / Dragon Software 04-02-2001 =============================================================================== What is HyperRipper File Format ? --------------------------------- This file format is the format used by the Dragon UnPACKer's HyperRipper to store Offsets/Size/Filenames of found data. Ex: If the HyperRipper found a RIFF/WAVE 'file' into Example.Dat at offset 32 and size of 32560. The .HRF file will store this offset/size in order that the user will be able to reopen this file (Example.Dat) in Dragon UnPACKer without having to redo the HyperRipper search. You need at least Dragon UnPACKer v4.00.32 Beta to read .HRF files. From Dragon UnPACKer v4.00.38 Beta, there is a new .HRF file format supported (version 1). Before this version, only HRF file format version 0 was supported. Dragon UnPACKer v4.00.38 Beta and up have read & write support for both version 1 and version 0. Some information: ----------------- LONG is a 4 Bytes long signed value (-2M to 2M) INTEGER is a 2 Bytes long signed value (-32k to 32k) BYTE is a 1 Byte long unsigned value (0 to 255) STRING is a Character Array Version is an array of 2 Bytes (first is Major version, second is Minor) Strings can be null terminated but are often padded with spaces (32/&H20). Global file format: ------------------- For HRFi version 0: Header Directory (v0) For HRFi version 1: Header Directory (v1) For HRFi version 2: Header Information Directory (v2) Header of the file: ------------------- ID As String * 5 ' "HRFi"+chr(26) Version As Byte ' 0 = Version 0 (No name change support) ' 1 = Version 1 (Default) ' 2 = Version 2 (Recommended) Filename As String * 98 ' Name of the companion file (ex: Example.Dat) FileSize As Long ' Size of the companion file HRipVer As Version ' 0.0 = Build 32 to 37 (v2.1 Beta or below) ' 3.0 = Build 38 (v3.0 Beta) ' 3.1 = Build 39 (v3.1 Beta) ' 3.2 = Build 40 to 41 (v3.2 Beta) ' 3.3 = Build 42 (v3.3 Beta) ' 3.5 = Build 47 (v3.5 Beta) ' 4.0 = Build 71 (v4.0) ' 4.1 = Build 72 (v4.1) ' 4.2 = Build 74 (v4.2) ' If Version is 2 then HRipVer is at least 4.2 DirNum As Long ' Number of entries in file The Version number define how the rest of file will be (see Global File Format). Go to the appropriate chapter to see the rest of the format. The HRipVer number define which version of the HyperRipper created the file and so which file types may appear in the Directory. Directory v0 (HRFi version 0): ------------------------------ The following structure is repeated DirNum times (see Header): FileType As Byte ' File Type (See File Types chapter) Offset As Long ' Offset in companion file Size As Long ' Size in companion file Directory v1 (HRFi version 1): ------------------------------ The following structure is repeated DirNum times (see Header): Filename As String * 32 ' File name without extension (ex: Arena) ' If FileType = 199 then the Filename can have ' an extension (ex: Arena.txt) FileType As Byte ' File Type (See File Types chapter) Offset As Long ' Offset in companion file Size As Long ' Size in companion file Information (HRFi version 2): ----------------------------- This structure appear ONLY in HRFi files version 2 after header and before the Directory: InfoVer As Byte ' Version of Information chunk ' 0 = 2 bytes Information chunk ' (only SecuritySize is present) ' 1 = 256 bytes Information chunk SecuritySize As Byte ' Max Size of Security Data in Directory v2 ' Allowed values: ' 0 (Disable),1,2,4,8 and 16 Author As String * 64 ' Name/Email of Author URL As String * 128 ' URL Title As String * 64 ' Title Directory v2 (HRFi version 2): ------------------------------ The following structure is repeated DirNum times (see Header): Filename As String * 64 ' File name without extension (ex: Arena) ' If FileType = 199 then the Filename can have ' an extension (ex: Arena.txt) FileType As Byte ' File Type (See File Types chapter) Offset As Long ' Offset in companion file Size As Long ' Size in companion file Security As String * 16 ' Security Data of companion file ' Bit of source companion file at Offset and of ' SecuritySize size in bytes. File Types: ----------- ### HRipVer Description Extension v0 v1 v2 0 0.0 Raw Data .RAW Yes Yes Yes 1 0.0 Windows BitMaP .BMP Yes Yes Yes 2 0.0 Interchange File Format .IFF Yes Yes Yes 3 0.0 Portable Network Graphic .PNG Yes Yes Yes 4 3.0 Graphics Interchange Format .GIF Yes Yes Yes 5 3.1 Windows MetaFile .WMF Yes Yes Yes 6 3.1 Windows Enhanced MetaFile .EMF Yes Yes Yes 7 3.2 JPEG .JPG Yes Yes Yes 100 0.0 MIDI v1.0 .MID Yes Yes Yes 101 0.0 Creative VOiCe file .VOC Yes Yes Yes 102 0.0 RIFF/WAVE .WAV Yes Yes Yes 103 4.0 UNIT 669 Module .669 Yes Yes Yes 104 4.0 FastTracker Extended Module .XM Yes Yes Yes 105 4.2 ImpulseTracker Module .IT Yes Yes Yes 106 4.2 ScreamTracker Module .S3M Yes Yes Yes 111 *0.0! MPEG Audio Layer 1 .MP1 Yes Yes Yes 112 *0.0! MPEG Audio Layer 2 .MP2 Yes Yes Yes 113 *0.0! MPEG Audio Layer 3 .MP3 Yes Yes Yes 199 ***3.3! Unknown file type (None) No Yes Yes 200 **0.0! RIFF/AVI .AVI Yes Yes Yes 201 **0.0! Quicktime MOVie .MOV Yes Yes Yes 202 3.3 Autodesk Animator FLIC .FLI Yes Yes Yes 203 3.3 EGI/DTA FLIC .FLC Yes Yes Yes 204 3.5 Bink Video .BIK Yes Yes Yes v0 = Is the file type supported by version 0 HRF files ? v1 = Is the file type supported by version 1 HRF files ? v2 = Is the file type supported by version 2 HRF files ? ! = HRipVer is not set correctly in on or more versions Needed Dragon UnPACKer versions: v0.0 -> Dragon UnPACKer v4.00.32 Beta * -> Dragon UnPACKer v4.00.35 Beta ** -> Dragon UnPACKer v4.00.37 Beta v3.0 -> Dragon UnPACKer v4.00.38 Beta v3.1 -> Dragon UnPACKer v4.00 RC1 v3.2 -> Dragon UnPACKer v4.00 RC2 v3.3 -> Dragon UnPACKer v4.00 Final *** -> Dragon UnPACKer v4.01.43 Beta v3.5 -> Dragon UnPACKer v4.01.47 v4.0 -> Dragon UnPACKer v4.13.72 v4.2 -> Dragon UnPACKer v4.13.74 Version 4.00.35 Beta to 4.00.37 Beta did not set correctly the HRipVer in the Header so it was still v0.0 but new file formats were supported. I think, if you plan to create/edit .HRF files you should set the HRipVer to at least v3.0 if you plan to use * or ** file types. Version 4.01.43 Beta to 4.01.46 Beta did not set correctly the HRipVer in the Header so it was still v3.3 but new file formats were supported. If you plan to use type 199 you should set HRipVer to at least v3.5. File types from 1 to 90 are for still images (graphics files). File types from 91 to 99 are reserved for testing purposes. File types from 100 to 190 are for music/sound files. File types from 191 to 199 are reserved. File types from 200 to 255 are for other files. You can contact me (see end of chapter) if you want to reserve a file type. If you reserve a file type it will be supported in the next Dragon UnPACKer version. Contact ------- If there is something I don't explained well please contact me. If there is something wrong in MY specs of MY format please ask also!! :) Dragon Software is available on the internet at: http://www.drgsoft.com/dup4/ You can reach Alex Devilliers: By E-Mail: support@drgsoft.com By ICQ: 1535372 (Elbereth) What's new? ----------- Release A: First version ever. Release B: Added file types 5 (WMF) and 6 (EMF). Release C: Added file type 7 (JPG). Release D: Some more explanation.. :) Release E: Added file types 202 (FLI) and 203 (FLC). Release F: Added file type 199 (File without extension). Release G: Added file type 204 (BIK). Release H: Changed URL and Email in Contact chapter. Introduced HRF v2 (currently unsupported in DUP4). Release I: Added file type 103 (669), 104 (XM), 105 (IT) and 106 (S3M). Corrected HRF v2 (now supported by DUP4). ===============================================================================